I. Field of the Invention
The present invention generally relates to data processing systems. More particularly, the invention relates to systems and methods for improving user interaction with data processing systems, including data processing systems implemented with computers.
II. Background Information
Typically, the interaction of a human user with a data processing system (such as a computer) occurs through a graphical user interface (GUI). A GUI may include a display device (such as a monitor) and an input device (such as a mouse). The user points at graphical objects that are displayed on the display device with a moving cursor that can be controlled by the user through the movement of the input device. To facilitate user interaction through graphical interfaces, buttons or a wheel for scrolling may be added to the input device. Such additional hardware allows the user to not only point at displayed objects, but also to execute designated functions in correlation with these objects by clicking mouse buttons or using the scrolling wheel. Through the use of such interfaces, a user is no longer forced to know all possible commands and to enter these commands in a command line editor in order to execute a corresponding function.
Mouse devices as an input device are well known in the art and have been improved continuously over time by adding more functionality to execute more functions in the context of a specific object. For example, when the position of the mouse cursor overlaps with the position of a graphical object on a display device of a computer system, different actions or functions can be executed for that object by using different buttons, such as the left or right mouse button. Typically, when clicking the left button once, the object is selected and, when clicking the left button twice, a program associated with the object is launched. Depending on the type of the object, launching can be, for example, to load the object into an editor of a word processing program or to start an executable program on the computer. When clicking the right button once, a context menu may be shown on the display device. The context menu provides an extended list of functions that can be executed for that object, usually also comprising the functions of the left button. For example, predefined functions in the context of a text object may include: to send the object to a printer; to delete the object; or to send it by e-mail to another person.
By way of example, FIG. 1 illustrates a simplified diagram of a conventional data processing system including a computer 1, a display device 2 and a mouse-like input device 3. Display device 2 and input device 3 are both connected to computer 1. The use of a mouse as an input device is well known in the art and, as stated above, has been enhanced continuously over time by adding more functionality to execute functions for a specific object.
In the example of FIG. 1, input device 3 has a right button 3-1 and a left button 3-2. Display device 2 shows an object 10 and a cursor 11. The position of cursor 11 on display device 2 is controlled by input device 3. When the position of cursor 11 overlaps with the position of the graphical representation of object 10 on display device 2, different functions can be executed in the context of object 10 by using the buttons 3-1 and 3-2. Typically, when clicking the left button 3-2 once, object 10 is selected and, when clicking the left button 3-2 twice, a program associated with the object is started. Depending on the type of object 10, starting can be, for example, to load the object into an editor or to start an executable program. When clicking the right button 3-1 once, a context menu 12 is shown on display device 2. Context menu 12 provides an extended list of functions F1′ to F5′ that can be executed for that object, comprising the functions of the left button 3-2. For example, predefined functions in the context of a text object may include: to send the object to a printer; to delete the object; or to send it by e-mail to a second person.
Some mouse devices have three buttons, where a user can assign functions to the third button (e.g., a double click function). Further, some mouse devices have an additional wheel for scrolling pages on the screen. However, such technological developments of mouse-like devices makes these devices more complex.
With the advent of laptops and notebook computers, track ball-based devices have been integrated with computer devices in an attempt to replace all the functions of a traditional mouse device. The track ball and mouse buttons may be physically separated. For some users, however, this arrangement might be inconvenient compared to traditional mouse-like devices.
Moreover, with computers becoming smaller and smaller in the form of personal digital assistants (PDAs), the mouse device has disappeared completely and been replaced by a pen-like device that writes directly on a touch sensitive display device, thus becoming the input device. However, for pen-like devices, a technical problem arises in that there's nothing like a second (e.g., right) or third mouse button to provide an input signal that is different from the first (e.g., left) button to show, for example, a context menu for a displayed object Therefore, large menus that offer all possible functions for all possible types of objects have to be displayed simultaneously on a very small-sized display. This requires, for example, to represent the functions by tiny icons or to have multi-layered menus that imply poor user interaction. This creates the problem of limited interaction functionality, especially for graphical user interfaces.
In view of the foregoing, embodiments of the present invention provide methods, computer program products and systems that solve the above-noted technical problems and/or improve user interaction with data processing systems, including computer devices.